#pragma once
#include "Window.h"

class Dialog:public Window{
private:
	static BOOL CALLBACK	dialogProc(HWND,UINT,WPARAM,LPARAM);

protected:
	virtual PTSTR	className			(void);
	virtual BOOL	onCharToItem		(WPARAM,LPARAM);
	virtual LRESULT	onCommand			(WPARAM,LPARAM);
	virtual BOOL	onCompareItem		(WPARAM,LPARAM);
	virtual BOOL	onCtlColorBtn		(WPARAM,LPARAM);
	virtual BOOL	onCtlColorDlg		(WPARAM,LPARAM);
	virtual BOOL	onCtlColorEdit		(WPARAM,LPARAM);
	virtual BOOL	onCtlColorListbox	(WPARAM,LPARAM);
	virtual BOOL	onCtlColorScrollbar	(WPARAM,LPARAM);
	virtual BOOL	onCtlColorStatic	(WPARAM,LPARAM);
	virtual BOOL	onInitDialog		(LPARAM);
	virtual BOOL	onQueryDragIcon		(WPARAM,LPARAM);
	virtual void	onSetCursor			(void);
	virtual BOOL	onVKeyToItem		(WPARAM,LPARAM);

public:
	Dialog	(void){};
	Dialog	(HINSTANCE,LPCTSTR,Window*);

	void	checkButton		(int,uint);
	void	create			(LPCTSTR,Window*);
	void	end				(INT_PTR);
	uint	isButtonChecked	(int);
	BOOL	messageLoop		(void);
};